[INFO] fetching crate thumper-cli 0.2.0...
[INFO] fixing thumper-cli-0.2.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] extracting crate thumper-cli 0.2.0 into /workspace/builds/worker-0-tc1/source
[INFO] removed /workspace/builds/worker-0-tc1/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate thumper-cli 0.2.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate thumper-cli 0.2.0
[INFO] tweaked toml for crates.io crate thumper-cli 0.2.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate thumper-cli 0.2.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate thumper-cli 0.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rmcp-macros v1.7.0
[INFO] [stderr]   Downloaded agent-client-protocol-derive v0.11.1
[INFO] [stderr]   Downloaded jsonrpcmsg v0.1.2
[INFO] [stderr]   Downloaded agent-client-protocol-tokio v0.11.1
[INFO] [stderr]   Downloaded agent-client-protocol-schema v0.12.0
[INFO] [stderr]   Downloaded agent-client-protocol v0.11.1
[INFO] [stderr]   Downloaded rmcp v1.7.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 47117db857d95040b28cbf762f46059f7632fadf7be26e473822d582e5af1627
[INFO] running `Command { std: "docker" "start" "47117db857d95040b28cbf762f46059f7632fadf7be26e473822d582e5af1627", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "47117db857d95040b28cbf762f46059f7632fadf7be26e473822d582e5af1627" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "47117db857d95040b28cbf762f46059f7632fadf7be26e473822d582e5af1627", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "47117db857d95040b28cbf762f46059f7632fadf7be26e473822d582e5af1627" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]     Checking kasuari v0.4.12
[INFO] [stderr]     Checking lru v0.16.4
[INFO] [stderr]     Checking compact_str v0.9.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking line-clipping v0.3.7
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking curve25519-dalek v4.1.3
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]     Checking shellexpand v3.1.2
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking uuid v1.23.1
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking float-cmp v0.10.0
[INFO] [stderr]     Checking nucleo-matcher v0.3.1
[INFO] [stderr]     Checking sdd v3.0.10
[INFO] [stderr]    Compiling serial_test_derive v3.4.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking scc v2.4.0
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking unicode-truncate v2.0.1
[INFO] [stderr]     Checking terminal_size v0.4.4
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking which v7.0.3
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking ratatui-core v0.1.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking predicates v3.1.4
[INFO] [stderr]     Checking assert_cmd v2.2.2
[INFO] [stderr]     Checking ratatui-widgets v0.3.0
[INFO] [stderr]     Checking ratatui-crossterm v0.1.0
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking serial_test v3.4.0
[INFO] [stderr]     Checking ratatui-macros v0.7.0
[INFO] [stderr]     Checking ratatui v0.30.0
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking clap_complete v4.6.5
[INFO] [stderr]     Checking rusqlite v0.31.0
[INFO] [stderr]     Checking thumper-cli v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/bun/cache.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bun::harness::BunCommand`
[INFO] [stdout]  --> src/bun/dag.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::bun::harness::BunCommand;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/bun/dag.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/bun/parent.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/registry/sqlite.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/registry/sqlite.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Job as PlasmaJob` and `JobStage`
[INFO] [stdout]  --> src/tui/app.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::tui::job::{Job as PlasmaJob, JobStage};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tui::startup`
[INFO] [stdout]  --> src/tui/app.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::tui::startup;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tui::styles`
[INFO] [stdout]  --> src/tui/app.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::tui::styles;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tui::widgets::error_card::render_diagnostic_error_card`
[INFO] [stdout]  --> src/tui/app.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::tui::widgets::error_card::render_diagnostic_error_card;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `render_braille_plasma_bar` and `render_recursive_fractal_core`
[INFO] [stdout]  --> src/tui/app.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::tui::widgets::plasma_bar::{render_braille_plasma_bar, render_recursive_fractal_core};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyCode` and `KeyModifiers`
[INFO] [stdout]   --> src/tui/app.rs:12:44
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crossterm::event::{Event, EventStream, KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]    |                                            ^^^^^^^            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `BorderType`, `Borders`, `ListItem`, `ListState`, `List`, `Paragraph`, `Wrap`, `layout::Alignment`, and `layout::Rect`
[INFO] [stdout]   --> src/tui/app.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     layout::Alignment,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     layout::Rect,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 19 |     prelude::*,
[INFO] [stdout] 20 |     widgets::{Block, BorderType, Borders, List, ListItem, ListState, Paragraph, Wrap},
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^^^  ^^^^^^^  ^^^^  ^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BunLineParse`
[INFO] [stdout]   --> src/tui/app.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     BunLineParse, CompletionContext, CompletionState, GenUpdate, Job, RegistryItem, Toast,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::sleep`
[INFO] [stdout]   --> src/tui/app.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use tokio::time::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/bun/cache.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bun::harness::BunCommand`
[INFO] [stdout]  --> src/bun/dag.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::bun::harness::BunCommand;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/bun/dag.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/bun/parent.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/registry/sqlite.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/registry/sqlite.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Job as PlasmaJob` and `JobStage`
[INFO] [stdout]  --> src/tui/app.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::tui::job::{Job as PlasmaJob, JobStage};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tui::startup`
[INFO] [stdout]  --> src/tui/app.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::tui::startup;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tui::styles`
[INFO] [stdout]  --> src/tui/app.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::tui::styles;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tui::widgets::error_card::render_diagnostic_error_card`
[INFO] [stdout]  --> src/tui/app.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::tui::widgets::error_card::render_diagnostic_error_card;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `render_braille_plasma_bar` and `render_recursive_fractal_core`
[INFO] [stdout]  --> src/tui/app.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::tui::widgets::plasma_bar::{render_braille_plasma_bar, render_recursive_fractal_core};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyCode` and `KeyModifiers`
[INFO] [stdout]   --> src/tui/app.rs:12:44
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crossterm::event::{Event, EventStream, KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]    |                                            ^^^^^^^            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `BorderType`, `Borders`, `ListItem`, `ListState`, `List`, `Paragraph`, `Wrap`, `layout::Alignment`, and `layout::Rect`
[INFO] [stdout]   --> src/tui/app.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     layout::Alignment,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     layout::Rect,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 19 |     prelude::*,
[INFO] [stdout] 20 |     widgets::{Block, BorderType, Borders, List, ListItem, ListState, Paragraph, Wrap},
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^^^  ^^^^^^^  ^^^^  ^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BunLineParse`
[INFO] [stdout]   --> src/tui/app.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     BunLineParse, CompletionContext, CompletionState, GenUpdate, Job, RegistryItem, Toast,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::sleep`
[INFO] [stdout]   --> src/tui/app.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use tokio::time::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/bun/dag.rs:125:18
[INFO] [stdout]     |
[INFO] [stdout] 125 |         for (id, node) in &self.nodes {
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_instant`
[INFO] [stdout]    --> src/bun/dag.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |         let start_instant = Instant::now();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_instant`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/bun/dag.rs:125:18
[INFO] [stdout]     |
[INFO] [stdout] 125 |         for (id, node) in &self.nodes {
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_instant`
[INFO] [stdout]    --> src/bun/dag.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |         let start_instant = Instant::now();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_instant`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tool_label`
[INFO] [stdout]    --> src/tui/app.rs:824:25
[INFO] [stdout]     |
[INFO] [stdout] 824 |                     let tool_label = "bun:package:install (recovery)".to_string();
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tool_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tool_label`
[INFO] [stdout]    --> src/tui/app.rs:824:25
[INFO] [stdout]     |
[INFO] [stdout] 824 |                     let tool_label = "bun:package:install (recovery)".to_string();
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tool_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/tui/handlers.rs:78:29
[INFO] [stdout]    |
[INFO] [stdout] 29 |             KeyCode::Char(c) => {
[INFO] [stdout]    |             ---------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 78 |             KeyCode::Home | KeyCode::Char('a') if key.modifiers.contains(KeyModifiers::CONTROL) => {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/tui/handlers.rs:85:28
[INFO] [stdout]    |
[INFO] [stdout] 29 |             KeyCode::Char(c) => {
[INFO] [stdout]    |             ---------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 85 |             KeyCode::End | KeyCode::Char('e') if key.modifiers.contains(KeyModifiers::CONTROL) => {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/tui/handlers.rs:78:29
[INFO] [stdout]    |
[INFO] [stdout] 29 |             KeyCode::Char(c) => {
[INFO] [stdout]    |             ---------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 78 |             KeyCode::Home | KeyCode::Char('a') if key.modifiers.contains(KeyModifiers::CONTROL) => {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/tui/handlers.rs:85:28
[INFO] [stdout]    |
[INFO] [stdout] 29 |             KeyCode::Char(c) => {
[INFO] [stdout]    |             ---------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 85 |             KeyCode::End | KeyCode::Char('e') if key.modifiers.contains(KeyModifiers::CONTROL) => {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]   --> src/tui/widgets/error_card.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |         if let Some(line) = content_lines.get_mut(idx) {
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]   --> src/tui/widgets/error_card.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |         if let Some(line) = content_lines.get_mut(idx) {
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_thumper_binary` is never used
[INFO] [stdout]    --> src/bun/parent.rs:243:4
[INFO] [stdout]     |
[INFO] [stdout] 243 | fn is_thumper_binary(name: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_acp_mode` is never used
[INFO] [stdout]   --> src/cli/output.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub(crate) fn set_acp_mode(enabled: bool) {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `registry_path` is never used
[INFO] [stdout]   --> src/registry/store.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn registry_path() -> PathBuf {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_thumper_binary` is never used
[INFO] [stdout]    --> src/bun/parent.rs:243:4
[INFO] [stdout]     |
[INFO] [stdout] 243 | fn is_thumper_binary(name: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_acp_mode` is never used
[INFO] [stdout]   --> src/cli/output.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub(crate) fn set_acp_mode(enabled: bool) {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `registry_path` is never used
[INFO] [stdout]   --> src/registry/store.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn registry_path() -> PathBuf {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]     --> src/tui/app.rs:1300:35
[INFO] [stdout]      |
[INFO] [stdout] 1300 |             if let Some(cached) = &SCRIPT_CACHE {
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]      |
[INFO] [stdout] 1300 |             if let Some(cached) = &raw const SCRIPT_CACHE {
[INFO] [stdout]      |                                    +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]     --> src/tui/app.rs:1300:35
[INFO] [stdout]      |
[INFO] [stdout] 1300 |             if let Some(cached) = &SCRIPT_CACHE {
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]      |
[INFO] [stdout] 1300 |             if let Some(cached) = &raw const SCRIPT_CACHE {
[INFO] [stdout]      |                                    +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `require_tmux`
[INFO] [stdout]   --> tests/e2e/harness.rs:53:16
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) use require_tmux;
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `test_name` is never read
[INFO] [stdout]   --> tests/e2e/harness.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct TuiTestHarness {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 96 |     session_name: String,
[INFO] [stdout] 97 |     test_name: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/bun/cache.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bun::harness::BunCommand`
[INFO] [stdout]  --> src/bun/dag.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::bun::harness::BunCommand;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/bun/dag.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/bun/parent.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `discovery::find_bun`
[INFO] [stdout]   --> src/bun/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use discovery::find_bun;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BunEvent`, `BunOutcome`, and `EventLevel`
[INFO] [stdout]   --> src/bun/mod.rs:22:18
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub use events::{BunEvent, BunEventOrOutcome, BunOutcome, EventLevel};
[INFO] [stdout]    |                  ^^^^^^^^                     ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `spawn_bun_python`
[INFO] [stdout]   --> src/bun/mod.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub use execution::{spawn_bun, spawn_bun_python};
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BunStream` and `run_bun_command`
[INFO] [stdout]   --> src/bun/mod.rs:24:19
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub use harness::{run_bun_command, BunCommand, BunInvocation, BunStream};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `is_launched_by_thumper`
[INFO] [stdout]   --> src/bun/mod.rs:25:65
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use parent::{get_ancestry_diagnostics, get_ancestry_report, is_launched_by_thumper};
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SandboxPool`, `SandboxStatus`, and `Sandbox`
[INFO] [stdout]   --> src/bun/mod.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use pool::{Sandbox, SandboxPool, SandboxStatus};
[INFO] [stdout]    |                ^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/registry/sqlite.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/registry/sqlite.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Job as PlasmaJob` and `JobStage`
[INFO] [stdout]  --> src/tui/app.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::tui::job::{Job as PlasmaJob, JobStage};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tui::startup`
[INFO] [stdout]  --> src/tui/app.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::tui::startup;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tui::styles`
[INFO] [stdout]  --> src/tui/app.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::tui::styles;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tui::widgets::error_card::render_diagnostic_error_card`
[INFO] [stdout]  --> src/tui/app.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::tui::widgets::error_card::render_diagnostic_error_card;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `render_braille_plasma_bar` and `render_recursive_fractal_core`
[INFO] [stdout]  --> src/tui/app.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::tui::widgets::plasma_bar::{render_braille_plasma_bar, render_recursive_fractal_core};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyCode` and `KeyModifiers`
[INFO] [stdout]   --> src/tui/app.rs:12:44
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crossterm::event::{Event, EventStream, KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]    |                                            ^^^^^^^            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `BorderType`, `Borders`, `ListItem`, `ListState`, `List`, `Paragraph`, `Wrap`, `layout::Alignment`, and `layout::Rect`
[INFO] [stdout]   --> src/tui/app.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     layout::Alignment,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     layout::Rect,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 19 |     prelude::*,
[INFO] [stdout] 20 |     widgets::{Block, BorderType, Borders, List, ListItem, ListState, Paragraph, Wrap},
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^^^  ^^^^^^^  ^^^^  ^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BunLineParse`
[INFO] [stdout]   --> src/tui/app.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     BunLineParse, CompletionContext, CompletionState, GenUpdate, Job, RegistryItem, Toast,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::sleep`
[INFO] [stdout]   --> src/tui/app.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use tokio::time::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `render_app` and `render_bun_command_palette`
[INFO] [stdout]  --> src/tui/widgets/mod.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use views::{render_app, render_bun_command_palette};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/bun/cache.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bun::harness::BunCommand`
[INFO] [stdout]  --> src/bun/dag.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::bun::harness::BunCommand;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/bun/dag.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/bun/parent.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `discovery::find_bun`
[INFO] [stdout]   --> src/bun/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use discovery::find_bun;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BunEvent`, `BunOutcome`, and `EventLevel`
[INFO] [stdout]   --> src/bun/mod.rs:22:18
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub use events::{BunEvent, BunEventOrOutcome, BunOutcome, EventLevel};
[INFO] [stdout]    |                  ^^^^^^^^                     ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `spawn_bun_python`
[INFO] [stdout]   --> src/bun/mod.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub use execution::{spawn_bun, spawn_bun_python};
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BunStream` and `run_bun_command`
[INFO] [stdout]   --> src/bun/mod.rs:24:19
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub use harness::{run_bun_command, BunCommand, BunInvocation, BunStream};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `is_launched_by_thumper`
[INFO] [stdout]   --> src/bun/mod.rs:25:65
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub use parent::{get_ancestry_diagnostics, get_ancestry_report, is_launched_by_thumper};
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SandboxPool`, `SandboxStatus`, and `Sandbox`
[INFO] [stdout]   --> src/bun/mod.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use pool::{Sandbox, SandboxPool, SandboxStatus};
[INFO] [stdout]    |                ^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/registry/sqlite.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anyhow::{anyhow, Result};
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/registry/sqlite.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Job as PlasmaJob` and `JobStage`
[INFO] [stdout]  --> src/tui/app.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::tui::job::{Job as PlasmaJob, JobStage};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tui::startup`
[INFO] [stdout]  --> src/tui/app.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::tui::startup;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tui::styles`
[INFO] [stdout]  --> src/tui/app.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::tui::styles;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tui::widgets::error_card::render_diagnostic_error_card`
[INFO] [stdout]  --> src/tui/app.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::tui::widgets::error_card::render_diagnostic_error_card;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `render_braille_plasma_bar` and `render_recursive_fractal_core`
[INFO] [stdout]  --> src/tui/app.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::tui::widgets::plasma_bar::{render_braille_plasma_bar, render_recursive_fractal_core};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyCode` and `KeyModifiers`
[INFO] [stdout]   --> src/tui/app.rs:12:44
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crossterm::event::{Event, EventStream, KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]    |                                            ^^^^^^^            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `BorderType`, `Borders`, `ListItem`, `ListState`, `List`, `Paragraph`, `Wrap`, `layout::Alignment`, and `layout::Rect`
[INFO] [stdout]   --> src/tui/app.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     layout::Alignment,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     layout::Rect,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 19 |     prelude::*,
[INFO] [stdout] 20 |     widgets::{Block, BorderType, Borders, List, ListItem, ListState, Paragraph, Wrap},
[INFO] [stdout]    |               ^^^^^  ^^^^^^^^^^  ^^^^^^^  ^^^^  ^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BunLineParse`
[INFO] [stdout]   --> src/tui/app.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     BunLineParse, CompletionContext, CompletionState, GenUpdate, Job, RegistryItem, Toast,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::sleep`
[INFO] [stdout]   --> src/tui/app.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use tokio::time::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `render_app` and `render_bun_command_palette`
[INFO] [stdout]  --> src/tui/widgets/mod.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use views::{render_app, render_bun_command_palette};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/bun/dag.rs:125:18
[INFO] [stdout]     |
[INFO] [stdout] 125 |         for (id, node) in &self.nodes {
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_instant`
[INFO] [stdout]    --> src/bun/dag.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |         let start_instant = Instant::now();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_instant`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/bun/dag.rs:125:18
[INFO] [stdout]     |
[INFO] [stdout] 125 |         for (id, node) in &self.nodes {
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_instant`
[INFO] [stdout]    --> src/bun/dag.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |         let start_instant = Instant::now();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_instant`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tool_label`
[INFO] [stdout]    --> src/tui/app.rs:824:25
[INFO] [stdout]     |
[INFO] [stdout] 824 |                     let tool_label = "bun:package:install (recovery)".to_string();
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tool_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/tui/handlers.rs:78:29
[INFO] [stdout]    |
[INFO] [stdout] 29 |             KeyCode::Char(c) => {
[INFO] [stdout]    |             ---------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 78 |             KeyCode::Home | KeyCode::Char('a') if key.modifiers.contains(KeyModifiers::CONTROL) => {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/tui/handlers.rs:85:28
[INFO] [stdout]    |
[INFO] [stdout] 29 |             KeyCode::Char(c) => {
[INFO] [stdout]    |             ---------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 85 |             KeyCode::End | KeyCode::Char('e') if key.modifiers.contains(KeyModifiers::CONTROL) => {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]   --> src/tui/widgets/error_card.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |         if let Some(line) = content_lines.get_mut(idx) {
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tool_label`
[INFO] [stdout]    --> src/tui/app.rs:824:25
[INFO] [stdout]     |
[INFO] [stdout] 824 |                     let tool_label = "bun:package:install (recovery)".to_string();
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tool_label`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `yolo`
[INFO] [stdout]    --> src/main.rs:175:36
[INFO] [stdout]     |
[INFO] [stdout] 175 |             AgentCommands::Stdio { yolo } => {
[INFO] [stdout]     |                                    ^^^^ help: try ignoring the field: `yolo: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChainCache` is never constructed
[INFO] [stdout]  --> src/bun/cache.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ChainCache;
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `hash_dag`, `get`, and `set` are never used
[INFO] [stdout]   --> src/bun/cache.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl ChainCache {
[INFO] [stdout]    | --------------- associated functions in this implementation
[INFO] [stdout] 11 |     /// Generate a cryptographic hash for a DAG configuration.
[INFO] [stdout] 12 |     pub fn hash_dag(intent: &str, dependencies: &[&str]) -> String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn get(hash: &str) -> Option<String> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn set(hash: &str, result: &str) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeterministicReplay` is never constructed
[INFO] [stdout]   --> src/bun/cache.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct DeterministicReplay;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `replay_session` is never used
[INFO] [stdout]   --> src/bun/cache.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl DeterministicReplay {
[INFO] [stdout]    | ------------------------ associated function in this implementation
[INFO] [stdout] 38 |     /// Replay an execution session from the database in real time.
[INFO] [stdout] 39 |     pub async fn replay_session(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BunRun` is never constructed
[INFO] [stdout]    --> src/bun/harness.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct BunRun {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `child` and `session_id` are never read
[INFO] [stdout]    --> src/bun/harness.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct BunStream {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub child: std::sync::Arc<tokio::sync::Mutex<tokio::process::Child>>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 119 |     pub session_id: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_bun_command` is never used
[INFO] [stdout]    --> src/bun/harness.rs:252:14
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub async fn run_bun_command(inv: BunInvocation) -> Result<BunRun> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_all` is never used
[INFO] [stdout]    --> src/bun/native.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl CircularLogBuffer {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn get_all(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_parent_pid` is never used
[INFO] [stdout]   --> src/bun/parent.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn get_parent_pid() -> Option<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_thumper_binary` is never used
[INFO] [stdout]    --> src/bun/parent.rs:243:4
[INFO] [stdout]     |
[INFO] [stdout] 243 | fn is_thumper_binary(name: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_parent_pid` is never used
[INFO] [stdout]    --> src/bun/parent.rs:463:12
[INFO] [stdout]     |
[INFO] [stdout] 463 |     pub fn get_parent_pid() -> Option<u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SandboxStatus` is never used
[INFO] [stdout]   --> src/bun/pool.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum SandboxStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sandbox` is never constructed
[INFO] [stdout]   --> src/bun/pool.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Sandbox {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `query_lsp` and `shutdown` are never used
[INFO] [stdout]   --> src/bun/pool.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl Sandbox {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 36 |     /// Send a JSON-RPC query to the warm LSP connection and receive a response instantly.
[INFO] [stdout] 37 |     pub async fn query_lsp(&self, request: &str) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub async fn shutdown(&mut self) {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SandboxPool` is never constructed
[INFO] [stdout]    --> src/bun/pool.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct SandboxPool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/bun/pool.rs:114:18
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl SandboxPool {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 113 |     /// Initialize a new rolling SandboxPool and warm up the initial sandboxes.
[INFO] [stdout] 114 |     pub async fn new(max_size: usize, root_dir: &Path) -> Result<Self> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub async fn replenish_all(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub async fn pre_warm_sandbox(&self, index: usize) -> Result<Sandbox> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     async fn spawn_lsp_subprocess(&self, workdir: &Path) -> Result<Child> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     async fn spawn_compiler_subprocess(&self, workdir: &Path) -> Result<Child> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub async fn acquire(&self) -> Result<Sandbox> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub async fn release(&self, mut sandbox: Sandbox) {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_acp_mode` is never used
[INFO] [stdout]   --> src/cli/output.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub(crate) fn set_acp_mode(enabled: bool) {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AncestryLive` and `Sandbox` are never constructed
[INFO] [stdout]   --> src/demo/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum Station {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 20 |     AncestryLive,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 21 |     Sandbox,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Station` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_chain` is never used
[INFO] [stdout]    --> src/ledger/chain.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn verify_chain(events: &[Value], key: Option<&[u8]>) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_dag` is never used
[INFO] [stdout]    --> src/ledger/chain.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn verify_dag(events: &[Value]) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `disabled` is never used
[INFO] [stdout]   --> src/ledger/journal.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl HealLedger {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn disabled() -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_data` is never used
[INFO] [stdout]   --> src/registry/keys.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn verify_data(pubkey_hex: &str, data: &[u8], sig_hex: &str) -> Result<bool> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_execution` is never used
[INFO] [stdout]    --> src/registry/sqlite.rs:278:8
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub fn update_execution(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_execution` is never used
[INFO] [stdout]    --> src/registry/sqlite.rs:294:8
[INFO] [stdout]     |
[INFO] [stdout] 294 | pub fn get_execution(id: &str) -> Result<Option<SqliteExecution>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_cache` is never used
[INFO] [stdout]    --> src/registry/sqlite.rs:326:8
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub fn write_cache(hash: &str, result: &str) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_cache` is never used
[INFO] [stdout]    --> src/registry/sqlite.rs:337:8
[INFO] [stdout]     |
[INFO] [stdout] 337 | pub fn read_cache(hash: &str) -> Result<Option<String>> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `registry_path` is never used
[INFO] [stdout]   --> src/registry/store.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn registry_path() -> PathBuf {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `command`, `start_time`, `elapsed`, `completion_time`, and `performance_score` are never read
[INFO] [stdout]   --> src/tui/job.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Job {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] 15 |     pub id: u64,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 16 |     pub command: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 17 |     pub stage: JobStage,
[INFO] [stdout] 18 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 19 |     pub elapsed: Duration,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub completion_time: Option<Instant>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub performance_score: Option<f32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Job` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `original_word` is never read
[INFO] [stdout]    --> src/tui/state.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub struct CompletionState {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub original_word: String, // the word we started completing
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CompletionState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `surface_style` is never used
[INFO] [stdout]   --> src/tui/styles.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn surface_style() -> Style {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOCHA_SURFACE1` is never used
[INFO] [stdout]   --> src/tui/styles.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const MOCHA_SURFACE1: Color = Color::Rgb(0x45, 0x47, 0x5a);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/tui/handlers.rs:78:29
[INFO] [stdout]    |
[INFO] [stdout] 29 |             KeyCode::Char(c) => {
[INFO] [stdout]    |             ---------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 78 |             KeyCode::Home | KeyCode::Char('a') if key.modifiers.contains(KeyModifiers::CONTROL) => {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/tui/handlers.rs:85:28
[INFO] [stdout]    |
[INFO] [stdout] 29 |             KeyCode::Char(c) => {
[INFO] [stdout]    |             ---------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 85 |             KeyCode::End | KeyCode::Char('e') if key.modifiers.contains(KeyModifiers::CONTROL) => {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]     --> src/tui/app.rs:1300:35
[INFO] [stdout]      |
[INFO] [stdout] 1300 |             if let Some(cached) = &SCRIPT_CACHE {
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]      |
[INFO] [stdout] 1300 |             if let Some(cached) = &raw const SCRIPT_CACHE {
[INFO] [stdout]      |                                    +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line`
[INFO] [stdout]   --> src/tui/widgets/error_card.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |         if let Some(line) = content_lines.get_mut(idx) {
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_line`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `yolo`
[INFO] [stdout]    --> src/main.rs:175:36
[INFO] [stdout]     |
[INFO] [stdout] 175 |             AgentCommands::Stdio { yolo } => {
[INFO] [stdout]     |                                    ^^^^ help: try ignoring the field: `yolo: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BunRun` is never constructed
[INFO] [stdout]    --> src/bun/harness.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct BunRun {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `child` and `session_id` are never read
[INFO] [stdout]    --> src/bun/harness.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct BunStream {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub child: std::sync::Arc<tokio::sync::Mutex<tokio::process::Child>>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 119 |     pub session_id: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_bun_command` is never used
[INFO] [stdout]    --> src/bun/harness.rs:252:14
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub async fn run_bun_command(inv: BunInvocation) -> Result<BunRun> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_all` is never used
[INFO] [stdout]    --> src/bun/native.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl CircularLogBuffer {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn get_all(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_parent_pid` is never used
[INFO] [stdout]   --> src/bun/parent.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn get_parent_pid() -> Option<u32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_thumper_binary` is never used
[INFO] [stdout]    --> src/bun/parent.rs:243:4
[INFO] [stdout]     |
[INFO] [stdout] 243 | fn is_thumper_binary(name: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_parent_pid` is never used
[INFO] [stdout]    --> src/bun/parent.rs:463:12
[INFO] [stdout]     |
[INFO] [stdout] 463 |     pub fn get_parent_pid() -> Option<u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PreWarming` is never constructed
[INFO] [stdout]   --> src/bun/pool.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum SandboxStatus {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] 18 |     PreWarming,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SandboxStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `env_paths` and `created_at` are never read
[INFO] [stdout]   --> src/bun/pool.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Sandbox {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub env_paths: Vec<PathBuf>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 31 |     pub status: SandboxStatus,
[INFO] [stdout] 32 |     pub created_at: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_acp_mode` is never used
[INFO] [stdout]   --> src/cli/output.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub(crate) fn set_acp_mode(enabled: bool) {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AncestryLive` and `Sandbox` are never constructed
[INFO] [stdout]   --> src/demo/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum Station {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 20 |     AncestryLive,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 21 |     Sandbox,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Station` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `registry_path` is never used
[INFO] [stdout]   --> src/registry/store.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn registry_path() -> PathBuf {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `command`, `start_time`, `elapsed`, `completion_time`, and `performance_score` are never read
[INFO] [stdout]   --> src/tui/job.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Job {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] 15 |     pub id: u64,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 16 |     pub command: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 17 |     pub stage: JobStage,
[INFO] [stdout] 18 |     pub start_time: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 19 |     pub elapsed: Duration,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub completion_time: Option<Instant>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub performance_score: Option<f32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Job` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `original_word` is never read
[INFO] [stdout]    --> src/tui/state.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub struct CompletionState {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub original_word: String, // the word we started completing
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CompletionState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `surface_style` is never used
[INFO] [stdout]   --> src/tui/styles.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn surface_style() -> Style {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOCHA_SURFACE1` is never used
[INFO] [stdout]   --> src/tui/styles.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const MOCHA_SURFACE1: Color = Color::Rgb(0x45, 0x47, 0x5a);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]     --> src/tui/app.rs:1300:35
[INFO] [stdout]      |
[INFO] [stdout] 1300 |             if let Some(cached) = &SCRIPT_CACHE {
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]      |
[INFO] [stdout]      = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]      = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]      |
[INFO] [stdout] 1300 |             if let Some(cached) = &raw const SCRIPT_CACHE {
[INFO] [stdout]      |                                    +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.22s
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "47117db857d95040b28cbf762f46059f7632fadf7be26e473822d582e5af1627", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "47117db857d95040b28cbf762f46059f7632fadf7be26e473822d582e5af1627", kill_on_drop: false }`
[INFO] [stdout] 47117db857d95040b28cbf762f46059f7632fadf7be26e473822d582e5af1627
